import store from "./store";
import router from "./router";
// 顶部进度条
import nprogress from 'nprogress'
import 'nprogress/nprogress.css'

// 白名单  不需要token就能进入的页面
let whiteList = ['/login', '/404']
router.beforeEach(async (to, from, next) => {
    //    进度条
    nprogress.start()

    // 判断是否有token
    if (store.getters.token) {
        // 判断是否去登陆页 如果已经登陆的跳转到首页
        if (to.path === '/login') {
            //  放行到首页
            next('/')
        } else {
            if (!store.getters.userId) {
                //  发起请求获取用户信息 
                await store.dispatch('user/getuserInfo')
            }
            // 正常放行
            next()
        }
    } else {
        // 没有token 判断去的是不是白名单中的
        if (whiteList.includes(to.path)) {
            // ture代表正常放行
            next()
        } else {
            // 不是白名单 也没有token跳回登陆页
            next('/login')
        }
    }
})
//路由跳转后
router.afterEach((to, from) => {
    nprogress.done()
})


